// miniprogram/pages/my/my.js
const bookDB = wx.cloud.database({ env: 'mybook-7n7f9'}) //初始化数据库
// const bookDB = wx.cloud.database()
let url = 'https://douban.uieee.com/v2/book/isbn/' //获取豆瓣图书信息

Page({

  globalData: {
    appid: 'wx65dafca74303cb7f',//appid需自己提供
    secret: 'e7d0555eb8c75fabe98c68d89caed55c',//secret需自己提供

  },
  /**
   * 页面的初始数据
   */
  data: {
    login_userInfo:{
      avatarUrl: "../../images/unlogin.png",
      nickName: "未登录"
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  // 添加图书
  addBook: function (isbn){

    let selt = this

    //获取扫码后图书详情
    wx.request({
      url: url + isbn, //获取豆瓣图书信息
      header: {
        //'content-type': 'application/json' // 默认值
        'content-type': 'application/text'
      },
      success(res) {
      
        let bookInfo = res.data //添加图书的id
        // console.log(bookInfo)

        bookDB.collection('books').where({
          bookId: bookInfo.id,
        }).get({
            success: function (res) {
              if (res.data.length){
                  wx.showToast({
                    title: '该图书已存在！',
                    icon: 'success',
                    duration: 1000
                  })
                  return
              } else{
                //将图书信息添加到云数据库
                bookDB.collection('books').add({
                  // data 字段表示需新增的 JSON 数据
                  data: {
                    bookTitle: bookInfo.title, //书名
                    bookAuthor: bookInfo.author, //作者
                    bookAuthor_intro: bookInfo.author_intro, //作者简介
                    bookImage: bookInfo.image, //图片
                    bookPublisher: bookInfo.publisher, //出版社
                    bookSummary: bookInfo.summary, //摘要
                    bookSubtitle: bookInfo.subtitle, //副标题
                    bookId: bookInfo.id, //图书id
                    bookPrice: bookInfo.ebook_price, //图书价格
                    bookPubdate: bookInfo.pubdate, //出版时间
                    bookTags: bookInfo.tags, //标签
                    bookRating: bookInfo.rating, //评分
                    bookCount: 0, //浏览量
                    userName: selt.data.login_userInfo.nickName, //添加人用户名
                    avatarUrl: selt.data.login_userInfo.avatarUrl,
                    addTime: new Date() //添加日期
                    // location: new bookDB.Geo.Point(113, 23), //地理位置
                  }
                }).then(res => {
                  wx.showToast({
                    title: '图书添加成功！',
                    icon: 'success',
                    duration: 1000
                  })
                })
              }
            }
          })
      }
    })
  },

  //扫码添加图书
  scanCode:function(){
    let that = this
    // 允许从相机和相册扫码
    wx.scanCode({
      success(res) {
        that.addBook(res.result)
      }
    })
  },

  //获取用户信息
  onGotUserInfo: function (e) {

    let self = this;
    let user = wx.getStorageSync('userInfo');
    
    if (!user){

    
      //获取用户openId
      wx.cloud.callFunction({
        name: 'login',
        complete: res => {
          // 用户openId
          // var userOpenId = res.result.event.userInfo.openId
          console.log(res)
          //用户信息
          // var userInfo = {
          //   openId: userOpenId,
          //   nickName: e.detail.userInfo.nickName,
          //   avatarUrl: e.detail.userInfo.avatarUrl,
          //   country: e.detail.userInfo.country,
          //   province: e.detail.userInfo.province,
          //   city: e.detail.userInfo.city
          // }

          // 将用户信息存储在本地缓存中
          // wx.setStorageSync('userInfo', userInfo)

          // self.setData({
          //   login_userInfo: userInfo
          // })

        }

      })



      wx.login({
        success(res) {
          if (res.code) {
            //发起网络请求 获取用户openId

            wx.request({
              url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + self.globalData.appid + '&secret=' + self.globalData.secret + '&js_code=' + res.code + '&grant_type=authorization_code',
              data: {
                code: res.code
              },
              success: function (res) {
                // 用户openId
                let userOpenId = res.data.openid;
                let expires_in = Date.now() + res.data.expires_in; 

                //用户信息
                let userInfo = {
                  openId: userOpenId,
                  nickName: e.detail.userInfo.nickName,
                  avatarUrl: e.detail.userInfo.avatarUrl,
                  country: e.detail.userInfo.country,
                  province: e.detail.userInfo.province,
                  city: e.detail.userInfo.city
                }
                
                // 将用户信息存储在本地缓存中
                wx.setStorageSync('userInfo', userInfo)

                self.setData({
                  login_userInfo: userInfo,

                })
              }
            })
          } else {
            wx.showModal({
              title: '登录失败！',
              content: res.errMsg
            })
          }
        }
      })
    }




    // if(!user){
    //   //获取用户openId
    //   wx.cloud.callFunction({
    //     name: 'login',
    //     complete: res => {
    //       // 用户openId
    //       var userOpenId = res.result.event.userInfo.openId
    //       //用户信息
    //       var userInfo = {
    //         openId: userOpenId,
    //         nickName: e.detail.userInfo.nickName,
    //         avatarUrl: e.detail.userInfo.avatarUrl,
    //         country: e.detail.userInfo.country,
    //         province: e.detail.userInfo.province,
    //         city: e.detail.userInfo.city
    //       }
         
    //       // 将用户信息存储在本地缓存中
    //       wx.setStorageSync('userInfo', userInfo)

    //       self.setData({
    //         login_userInfo: userInfo
    //       })
          
    //     }

    //   })
   
    
    // }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
     
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let user = wx.getStorageSync('userInfo');

    if (user){
      this.setData({
        login_userInfo:user
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})